package org.pcorp.battlespace.construction.modele;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import org.pcorp.battlespace.modele.Equipement;


public class VaisseauCstr {
	// info generale
	private String nomClasse;
	private String type;
	private long masse;
	private long masseRestante;
	// propulsion kf
	private boolean kf;
	private boolean kfCompact;
	private long kfMasse;
	private long kfIntegrite;
	private long kfVoileMasse;
	private long kfVoileIntegrite;
	// propulsion
	private long pousse;
	private long propMasse;
	private long propReservoir;
	private long propReservoirReco;
	// structure
	private long structureIntegrite;
	private long structureMasse;
	private long blindage;
	private long blindageMasse;
	
	// armement
	private List<SabordCstr> sabords;
	// equipement
	private List<Equipement> equipements;
	
	// informations globales
	private long cout;
	private long chasseurs;
	private long fusilier;
	private long equipagePasserelle;
	private long equipageArmement;
	private long equipagePropulsion;
	private long equipageKF;
	private long equipageMaintenance;
	private long equipageDivers;
	private long equipageTotal;
	
	// stat
	private Map<Integer, PuissanceArc> puissanceArc;
	
	
	public VaisseauCstr() {
		sabords = new LinkedList<SabordCstr>();
		equipements = new LinkedList<Equipement>();
		puissanceArc = new HashMap<Integer, PuissanceArc>();
	}
	
	public String getNomClasse() {
		return nomClasse;
	}
	public void setNomClasse(String nomClasse) {
		this.nomClasse = nomClasse;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public long getMasse() {
		return masse;
	}
	public void setMasse(long masse) {
		this.masse = masse;
	}
	public boolean isKf() {
		return kf;
	}
	public void setKf(boolean kf) {
		this.kf = kf;
	}
	public long getKfMasse() {
		return kfMasse;
	}
	public void setKfMasse(long kfMasse) {
		this.kfMasse = kfMasse;
	}
	public long getKfIntegrite() {
		return kfIntegrite;
	}
	public void setKfIntegrite(long kfIntegrite) {
		this.kfIntegrite = kfIntegrite;
	}
	public long getKfVoileMasse() {
		return kfVoileMasse;
	}
	public void setKfVoileMasse(long kfVoileMasse) {
		this.kfVoileMasse = kfVoileMasse;
	}
	public long getPousse() {
		return pousse;
	}
	public void setPousse(long pousse) {
		this.pousse = pousse;
	}
	public long getPropMasse() {
		return propMasse;
	}
	public void setPropMasse(long propMasse) {
		this.propMasse = propMasse;
	}
	public long getPropReservoir() {
		return propReservoir;
	}
	public void setPropReservoir(long propReservoir) {
		this.propReservoir = propReservoir;
	}
	public long getStructureIntegrite() {
		return structureIntegrite;
	}
	public void setStructureIntegrite(long structureIntegrite) {
		this.structureIntegrite = structureIntegrite;
	}
	public long getStructureMasse() {
		return structureMasse;
	}
	public void setStructureMasse(long structureMasse) {
		this.structureMasse = structureMasse;
	}
	public long getBlindage() {
		return blindage;
	}
	public void setBlindage(long blindage) {
		this.blindage = blindage;
	}
	public long getBlindageMasse() {
		return blindageMasse;
	}
	public void setBlindageMasse(long blindageMasse) {
		this.blindageMasse = blindageMasse;
	}
	public boolean isKfCompact() {
		return kfCompact;
	}
	public void setKfCompact(boolean kfCompact) {
		this.kfCompact = kfCompact;
	}
	public long getKfVoileIntegrite() {
		return kfVoileIntegrite;
	}
	public void setKfVoileIntegrite(long kfVoileIntegrite) {
		this.kfVoileIntegrite = kfVoileIntegrite;
	}
	public long getMasseRestante() {
		return masseRestante;
	}
	public void setMasseRestante(long masseRestante) {
		this.masseRestante = masseRestante;
	}
	public long getPropReservoirReco() {
		return propReservoirReco;
	}
	public void setPropReservoirReco(long propReservoirReco) {
		this.propReservoirReco = propReservoirReco;
	}
	public List<SabordCstr> getSabords() {
		return sabords;
	}
	public void setSabords(List<SabordCstr> sabords) {
		this.sabords = sabords;
	}

	public List<Equipement> getEquipements() {
		return equipements;
	}

	public void setEquipements(List<Equipement> equipements) {
		this.equipements = equipements;
	}

	@Override
	public String toString() {
		return "VaisseauConstruction [nomClasse=" + nomClasse + ", type=" + type + ", masse=" + masse + ", masseRestante=" + masseRestante + ", kf=" + kf + ", kfCompact=" + kfCompact + ", kfMasse=" + kfMasse + ", kfIntegrite=" + kfIntegrite + ", kfVoileMasse=" + kfVoileMasse + ", kfVoileIntegrite=" + kfVoileIntegrite + ", pousse=" + pousse + ", propMasse=" + propMasse + ", propReservoir=" + propReservoir + ", propReservoirReco=" + propReservoirReco + ", structureIntegrite=" + structureIntegrite + ", structureMasse=" + structureMasse + ", blindage=" + blindage + ", blindageMasse=" + blindageMasse + ", sabords=" + sabords + ", equipements=" + equipements + "]";
	}

	public long getCout() {
		return cout;
	}

	public void setCout(long cout) {
		this.cout = cout;
	}

	public long getChasseurs() {
		return chasseurs;
	}

	public void setChasseurs(long chasseurs) {
		this.chasseurs = chasseurs;
	}

	public long getFusilier() {
		return fusilier;
	}

	public void setFusilier(long fusilier) {
		this.fusilier = fusilier;
	}

	public long getEquipagePasserelle() {
		return equipagePasserelle;
	}

	public void setEquipagePasserelle(long equipagePasserelle) {
		this.equipagePasserelle = equipagePasserelle;
	}

	public long getEquipageArmement() {
		return equipageArmement;
	}

	public void setEquipageArmement(long equipageArmement) {
		this.equipageArmement = equipageArmement;
	}

	public long getEquipagePropulsion() {
		return equipagePropulsion;
	}

	public void setEquipagePropulsion(long equipagePropulsion) {
		this.equipagePropulsion = equipagePropulsion;
	}

	public long getEquipageKF() {
		return equipageKF;
	}

	public void setEquipageKF(long equipageKF) {
		this.equipageKF = equipageKF;
	}

	public long getEquipageMaintenance() {
		return equipageMaintenance;
	}

	public void setEquipageMaintenance(long equipageMaintenance) {
		this.equipageMaintenance = equipageMaintenance;
	}

	public long getEquipageDivers() {
		return equipageDivers;
	}

	public void setEquipageDivers(long equipageDivers) {
		this.equipageDivers = equipageDivers;
	}

	public long getEquipageTotal() {
		return equipageTotal;
	}

	public void setEquipageTotal(long equipageTotal) {
		this.equipageTotal = equipageTotal;
	}

	public Map<Integer, PuissanceArc> getPuissanceArc() {
		return puissanceArc;
	}

	public void setPuissanceArc(Map<Integer, PuissanceArc> puissanceArc) {
		this.puissanceArc = puissanceArc;
	}

	
	
}
